package com.relytosoft.mizar.media.camera.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.relytosoft.dubhe.common.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;


/**
 * @author a3621
 */
@TableName("VID_CAMERA_CHANNEL")
@ApiModel("CameraChannel")
public class CameraChannel extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "ID", type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID", required = true)
    private Integer id;

    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID", required = true)
    @TableField("CAMERA_ID")
    private Integer cameraId;

    /**
     * 通道编码
     */
    @ApiModelProperty(value = "通道编码", required = true)
    @TableField("CHANNEL_CODE")
    private String channelCode;

    /**
     * 通道名称
     */
    @ApiModelProperty(value = "通道名称", required = true)
    @TableField("CHANNEL_NAME")
    private String channelName;

    /**
     * 连接协议;TCP、UDP
     */
    @ApiModelProperty(value = "连接协议;TCP、UDP", required = true)
    @TableField("TRANS_TYPE")
    private Integer transType;

    /**
     * 摄像机类型
     */
    @ApiModelProperty(value = "摄像机类型")
    @TableField("CAMERA_TYPE_ID")
    private Integer cameraTypeId;

    /**
     * 通道能力
     */
    @ApiModelProperty(value = "通道能力")
    @TableField("CAMABILITY")
    private String camability;

    /**
     * 主码流rtsp_url
     */
    @ApiModelProperty(value = "主码流rtsp_url")
    @TableField("MAIN_STREAM_RTSP_URL")
    private String mainStreamRtspUrl;

    /**
     * 子码流rtsp_url
     */
    @ApiModelProperty(value = "子码流rtsp_url")
    @TableField("SUB_STREAM_RTSP_URL")
    private String subStreamRtspUrl;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    @TableField("LONG_ITUDE")
    private String longItude;

    /**
     * 经纬度
     */
    @ApiModelProperty(value = "纬度")
    @TableField("LAT_ITUDE")
    private String latItude;

    /**
     * 海拔高度
     */
    @ApiModelProperty(value = "海拔高度")
    @TableField("ELEVATION")
    private BigDecimal elevation;

    /**
     * 视域宽度
     */
    @ApiModelProperty(value = "视域宽度")
    @TableField("VIEW_WIDTH")
    private BigDecimal viewWidth;

    /**
     * 区域二维地图位置
     */
    @ApiModelProperty(value = "区域二维地图位置")
    @TableField("MAP_LOCATION")
    private String mapLocation;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @TableField("REMARK")
    private String remark;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    @TableField("STATUS")
    private Integer status;

    @ApiModelProperty(value = "通道编号")
    @TableField("CHANNEL_NUM")
    private String channelNum;

    /**
     * 用于和设备编码对应
     */
    @TableField(exist = false)
    private String encodeDevIndexCode;

    /**
     * 第三方平台通道编码
     */
    @TableField(exist = false)
    private String platformChannelCode;

    /**
     * 区域id
     */
    @TableField(exist = false)
    private Integer areaId;


    public String getChannelNum() {
        return channelNum;
    }

    public void setChannelNum(String channelNum) {
        this.channelNum = channelNum;
    }

    public String getPlatformChannelCode() {
        return platformChannelCode;
    }

    public void setPlatformChannelCode(String platformChannelCode) {
        this.platformChannelCode = platformChannelCode;
    }

    public Integer getAreaId() {
        return areaId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }

    public String getEncodeDevIndexCode() {
        return encodeDevIndexCode;
    }

    public void setEncodeDevIndexCode(String encodeDevIndexCode) {
        this.encodeDevIndexCode = encodeDevIndexCode;
    }

    /**
     * 获得主键ID
     */
    public Integer getId() {
        return this.id;
    }

    /**
     * 设置主键ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获得设备ID
     */
    public Integer getCameraId() {
        return this.cameraId;
    }

    /**
     * 设置设备ID
     */
    public void setCameraId(Integer cameraId) {
        this.cameraId = cameraId;
    }

    /**
     * 获得通道编码
     */
    public String getChannelCode() {
        return this.channelCode;
    }

    /**
     * 设置通道编码
     */
    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    /**
     * 获得通道名称
     */
    public String getChannelName() {
        return this.channelName;
    }

    /**
     * 设置通道名称
     */
    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    /**
     * 获得连接协议;TCP、UDP
     */
    public Integer getTransType() {
        return this.transType;
    }

    /**
     * 设置连接协议;TCP、UDP
     */
    public void setTransType(Integer transType) {
        this.transType = transType;
    }

    /**
     * 获得摄像机类型
     */
    public Integer getCameraTypeId() {
        return this.cameraTypeId;
    }

    /**
     * 设置摄像机类型
     */
    public void setCameraTypeId(Integer cameraTypeId) {
        this.cameraTypeId = cameraTypeId;
    }

    /**
     * 获得通道能力
     */
    public String getCamability() {
        return this.camability;
    }

    /**
     * 设置通道能力
     */
    public void setCamability(String camability) {
        this.camability = camability;
    }

    /**
     * 获得主码流rtsp_url
     */
    public String getMainStreamRtspUrl() {
        return this.mainStreamRtspUrl;
    }

    /**
     * 设置主码流rtsp_url
     */
    public void setMainStreamRtspUrl(String mainStreamRtspUrl) {
        this.mainStreamRtspUrl = mainStreamRtspUrl;
    }

    /**
     * 获得子码流rtsp_url
     */
    public String getSubStreamRtspUrl() {
        return this.subStreamRtspUrl;
    }

    /**
     * 设置子码流rtsp_url
     */
    public void setSubStreamRtspUrl(String subStreamRtspUrl) {
        this.subStreamRtspUrl = subStreamRtspUrl;
    }


    public String getLongItude() {
        return longItude;
    }

    public void setLongItude(String longItude) {
        this.longItude = longItude;
    }

    public String getLatItude() {
        return latItude;
    }

    public void setLatItude(String latItude) {
        this.latItude = latItude;
    }

    /**
     * 获得海拔高度
     */
    public BigDecimal getElevation() {
        return this.elevation;
    }

    /**
     * 设置海拔高度
     */
    public void setElevation(BigDecimal elevation) {
        this.elevation = elevation;
    }

    /**
     * 获得视域宽度
     */
    public BigDecimal getViewWidth() {
        return this.viewWidth;
    }

    /**
     * 设置视域宽度
     */
    public void setViewWidth(BigDecimal viewWidth) {
        this.viewWidth = viewWidth;
    }

    /**
     * 获得区域二维地图位置
     */
    public String getMapLocation() {
        return this.mapLocation;
    }

    /**
     * 设置区域二维地图位置
     */
    public void setMapLocation(String mapLocation) {
        this.mapLocation = mapLocation;
    }

    /**
     * 获得备注
     */
    public String getRemark() {
        return this.remark;
    }

    /**
     * 设置备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获得状态
     */
    public Integer getStatus() {
        return this.status;
    }

    /**
     * 设置状态
     */
    public void setStatus(Integer status) {
        this.status = status;
    }


    @Override
    public String toString() {
        return "CameraChannel{" +
                "id=" + id +
                ", cameraId=" + cameraId +
                ", channelCode='" + channelCode + '\'' +
                ", channelName='" + channelName + '\'' +
                ", transType=" + transType +
                ", cameraTypeId=" + cameraTypeId +
                ", camability='" + camability + '\'' +
                ", mainStreamRtspUrl='" + mainStreamRtspUrl + '\'' +
                ", subStreamRtspUrl='" + subStreamRtspUrl + '\'' +
                ", longItude='" + longItude + '\'' +
                ", latItude='" + latItude + '\'' +
                ", elevation=" + elevation +
                ", viewWidth=" + viewWidth +
                ", mapLocation='" + mapLocation + '\'' +
                ", remark='" + remark + '\'' +
                ", status=" + status +
                ", encodeDevIndexCode='" + encodeDevIndexCode + '\'' +
                ", areaId='" + areaId + '\'' +
                '}';
    }
}
